%\begin{conclusions}
\setcounter{section}{0}

\section{Conclusions}

Arribats a aquest punt cal valorar si els objectius del projecte s'han complert o no.

\paragraph{}

A més de la valoració dels objectius també escriuré algunes consideracions finals sobre algunes de les eines/parts d'aquest projecte que m'agradaria detallar.

\paragraph{}

I per acabar una valoració del que ha representat aquest projecte final de carrera a nivell personal.

\subsection{Valoració del compliment dels objectius}

\paragraph{Suport GML/KML/OSM:}Gràcies a la utilització de mapsforge s'ha garantit el suport de mapes d'OpenStreetMap.

\paragraph{}

Com s'ha vist també s'ha aconseguit modificar (estendre) aquesta biblioteca per acceptar els formats KML i GML.

\paragraph{Suport fora de línia:}La funcionalitat completa de generació/carrega de mapes fora de línia és viable en determinats entorns (dispositius amb suficients prestacions), i per la resta de casos es garanteix la visualització de mapes sense connexió (si bé prèviament generats des d'un sistema extern).

\paragraph{}

De fet, en el pitjor dels casos (per als dispositius menys potents) s'obté un funcionament igual a la resta d'aplicacions de les mateixes característiques que s'han trobat. És a dir, les aplicacions que proporcionen suport de mapes fora de línia, però que no sigui l'emmagatzemament de ``tessel·les'', i per tant sense consumir la memòria que aquest mètode implica.

\paragraph{}

I en el millor dels casos es millora notablement aquest funcionament i es facilitat el procés, ja que no cal processar les dades en un sistema extern.

\paragraph{Dibuixos geomètrics sobre el mapa:} L'aplicació erdapfel permet dibuixar elements geomètrics sobre un mapa, i després guardar-los/exportar-los a format KML.

\paragraph{Càlculs d'elements geomètrics:}L'aplicació erdapfel també permet calcular distàncies i àrees de manera aproximada.

\paragraph{}

Encara que actualment els càlculs que es poden realitzar són limitats, s'ha de tenir en compte que en aquest aspecte erdapfel no deixa de ser una aplicació de demostració. A mesura que es vagin necessitin funcionalitats més concretes en aplicacions de treball de camp, no ha de ser difícil afegir-les.

\paragraph{Facilitar la creació d'interfícies gràfiques:} Aquest objectiu s'ha assolit al crear l'aplicació de prova, ja que les classes de MetricsOverlay i PolygonOverlay poden ser usades a tal efecte. 

\paragraph{Façana de SL4A:} Finalment s'ha aconseguit desenvolupar una façana pròpia i integrar-la a SL4A, de manera que les funcionalitats de la biblioteca quedin exposades als llenguatges de scripting.

\paragraph{Aplicació de prova:} erdapfel és aquesta aplicació de ``prova''. Crec que aquesta aplicació només deixa entreveure tot el que es pot arribar a fer amb les biblioteques que s'han creat, però, de fet aquest era el seu principal objectiu.

\paragraph{}

A més d'això, aquesta aplicació ha servit per expandir el projecte ZamiaDroid.

\paragraph{Publicar el codi sota la GPL:} Tècnicament, si ens prenem el redactat inicial d'aquest objectiu al peu de la lletra, s'ha d'admetre que no s'ha pogut mantenir, ja que la utilització de mapsforge implicava l'ús de LGPL en lloc de GPL pel codi que n'havia de formar part.

\paragraph{}

Malgrat això, es pot interpretar que el significat ``real'' d'aquest objectiu era que el codi i els esforços esdevinguts d'aquest projecte ajudessin, encara que fos una mica, a la comunitat de software lliure a seguir evolucionant i millorant.

\paragraph{}

Només el temps dirà en veritat si aquest objectiu s'ha complert o no, si algun dels esforços d'aquest projecte serà útil més endavant a algú. 

\paragraph{}

Però s'ha fet tot el possible perquè així sigui.

\subsection{Valoració del treball en comunitat}

Com ja s'ha explicat a l'apartat de \hyperlink{impl-conclusions-mapsforge}{conclusions sobre la implementació de mapsforge}, la possibilitat real d'integració de les expansions de mapsforge que aquest PFC proporciona s'ha vist dificultada per l'actualització de l'API d'overlays de mapsforge.

\paragraph{}

Això ha estat una veritable llàstima, ja que era una part que resultava molt interessant del plantejament del projecte. 

\paragraph{}

Malgrat tot, encara existeix la possibilitat que en un futur es reprengui la activitat d'aquesta branca, i, aprofitant tot el treball realitzat, s'acabi integrant aquest suport de KML i GML a mapsforge.

\paragraph{}

A nivell més personal, atribueixo aquests petits inconvenients a la gran inexperiència que tinc en l'àmbit del treball en comunitat. Així, també espero que això em serveixi per saber com enfocar un futur treball d'aquestes característiques.

\subsection{Valoració de la integració amb ZamiaDroid}

Tot i la vinculació que aquest projecte tenia amb Zamia, la integració d'aquest projecte al Zamia no era un objectiu, i, de fet, es volia deixar com a futur treball. Però el fet que s'hagi trobat una manera d'aconseguir-la ha estat un ``bonus'' per aquest projecte que ha resultat molt satisfactori.

\paragraph{}

Encara que actualment les capacitats estiguin una mica limitades per l'aplicació erdapfel, espero que en un futur no molt llunyà es puguin aprofitar totes les capacitats de la biblioteca des del Zamia, i això contribueixi a la seva usabilitat.

\subsection{Valoració del treball amb SL4A}

En aquest apartat considero que he descobert un món fascinant i amb moltes possibilitats que no s'ha explotat tant com es voldria en el present projecte.

\paragraph{}

Crec que SL4A és una idea molt interessant i una bona mostra del que es pot arribar a fer amb la motivació i els coneixements adequats.

\paragraph{}

Així que estic content d'haver explorat aquests mecanismes i acabar-ne trobant un de tant satisfactori. Crec que el faré servir per a desenvolupar algun projecte que tinc en ment.

\subsection{Consideracions finals}

Aquest projecte m'ha resultat força complicat. Realment he sentit que es tractava de la culminació d'un procés que ha durat molts anys, i, en certa manera, ja tenia ganes de que s'acabés.

\paragraph{}

Una de les coses que m'ha resultat més complicada ha estat la gestió de tants projectes diferents. Cal tenir present que pràcticament cada projecte tenia les seves eines o mecanismes de treball particulars, diferents de la resta. Així, he fet servir, a banda d'eclipse, tant make, ant, mvn per a la compilació d'algunes dels projectes, i gairebé totes les eines de control de versions per a obtenir el codi dels projectes a estudiar: hg (mercurial), svn, cvs i git. 

\paragraph{}

Per posar només un exemple, el procediment normal per compilar erdapfel consistia en compilar i empaquetar les classes de JiBX generades manualment en un jar, incloure aquest jar al projecte d'eclipse de la biblioteca estesa de mapsforge (mapsforge-gml-kml), compilar aquesta biblioteca de manera externa amb l'eina mvn i publicar-ne un ``snapshot'' al repositòri local de maven, tornar a l'eclipse, en aquest cas al projecte d'erdapfel i assegurar-me que s'havia actualitzat la referència de la biblioteca de mapes. Abans de compilar erdapfel calia també preparar a mà un paquet amb els mòduls ``capats'' i correctament configurats d'osmosis per tal que la part del mapfile-writer4and es pogués generar, i finalment podia fer servir eclipse per a compilar l'aplicació d'Android.

\paragraph{}

Gestionar i/o automatizar tots aquests processos m'ha resultat molt difícil degut a la heterogeneïtat de les eines de desenvolupament que fa servir cada projecte diferent.

\paragraph{}

També he trobat a faltar alguns cops disposar de documentació conceptual a nivells prou ``elevats'' com per no haver-se d'introduir molt en els ets i uts de cada projecte. Una documentació semblant a la que he vist durant la carrera en assignatures d'enginyeria de software. 

\paragraph{}

Però en general en aquest aspecte estic satisfet, ja que he estat capaç d'entendre la majoria de projectes que he hagut de modificar a nivell de codi font, i aconseguir resultats.

\paragraph{}

Com que es tractava d'un projecte pedagògic a més de pràctic, s'ha donat també molta importància a la part d'investigació i això també m'ha aportat molt. 

\paragraph{}

Potser en algun moment s'hagi abusat d'aquesta visió i s'hagin deixat una mica al marge els usos pràctics del projecte a favor d'una visió més ``expedicionària''.

\paragraph{}

Personalment, però, estic satisfet d'haver fet aquestes proves per tenir una mica més clar què es pot fer i què no es pot fer amb aquests aparells que ara tots tenim a la butxaca.

\paragraph{}

Certament no s'han investigat a fons totes les vies, i potser algun dels camins que no s'han agafat hauria portat a conclusions diferents.

\paragraph{}

Però en acabar aquest projecte tinc la sensació que he après moltes coses del sistema amb el que he treballat, i això és bo. 

\paragraph{}

Si bé és cert que moltes vegades he tingut la sensació que el sistema operatiu Android restringeix en certa manera les capacitats dels dispositius amb que he treballat, també és veritat que Android és un sistema molt ``obert'' que permet molt de joc i realitza bé les seves funcions, i que el fet que un sistema tan pròxim a la filosofia del codi obert sigui tan popular aporta més beneficis que no inconvenients.

\paragraph{}

Potser en aquest cas queixar-se de les restriccions d'Android podria ser semblant a la cèlebre metàfora d'Immanuel Kant, de l'ocell que al notar la resistència de l'aire al volar creu que volaria més bé en el buit, quan és la fricció d'aquest aire que sustenta en el seu vol.

\begin{quotation}
"Die leichte Taube, indem sie im freien Fluge die Luft teilt, deren Widerstand sie fühlt, könnte die Vorstellung fassen, dass es ihr im luftleeren Raum noch viel besser gelingen werde." - Kritik der reinen Vernunft (1787), Einleitung, III.
\end{quotation}

\TODO{The light dove, cleaving the air in her free flight, and feeling its resistance, might imagine that its flight would be still easier in empty space.}
\TODO{"Die leichte Taube, indem sie im freien Fluge die Luft teilt, deren Widerstand sie fühlt, könnte die Vorstellung fassen, dass es ihr im luftleeren Raum noch viel besser gelingen werde." - Kritik der reinen Vernunft (1787), Einleitung, III.}

\section{Millores i possibles ampliacions}

\input{./MemoriaFrthr.tex}


%\end{conclusions}
